﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Security.Application;

namespace InhollandAirPortal {
  public partial class RegistreerPage : System.Web.UI.Page {
		// Variabeles initialiseren
    private string ValidationErrorClass = "validationError";    
    private string voornaam = string.Empty;
    private string tussenvoegsel = string.Empty;
    private string achternaam = string.Empty;
    private string straatnaam = string.Empty;
    private int huisnummer = -1;
    private string huisnummertoevoeging = string.Empty;
    private string postcode = string.Empty;
    private string woonplaats = string.Empty;
    private string land = string.Empty;
    private string telefoon = string.Empty;
    private string loginnaam = string.Empty;
    private string password = string.Empty;

    protected void Page_Load(object sender, EventArgs e) {
    }

    protected void btnRegistreer_Click(object sender, EventArgs e) {
      if (ValidateInputs()) {
				if (PortalUser.CheckAvailableLoginName(txtGebruikersnaam.Text)) { // Controleren of de gebruikersnaam beschikbaar is
          voornaam = txtVoornaam.Text;
          tussenvoegsel = txtTussenvoegsel.Text;
          achternaam = txtAchternaam.Text;
          straatnaam = txtStraatnaam.Text;
          huisnummer = -1;
          int.TryParse(txtHuisnummer.Text, out huisnummer);
          huisnummertoevoeging = txtHuisnummertoevoeging.Text;
          postcode = txtPostcode.Text;
          woonplaats = txtWoonplaats.Text;
          land = ddlLand.SelectedValue;
          telefoon = txtTelefoon.Text;
          loginnaam = txtGebruikersnaam.Text;
          password = txtWachtwoord.Text;
          SaveUser();
        } else { // Fout weergeven indien de gebruikersnaam niet meer beschikbaar is
          validatorReqGebruikersnaam.IsValid = false;
          validatorReqGebruikersnaam.Text = " De gebruikersnaam bestaat al! Kies een andere naam";
        }
      }
    }

    private bool ValidateInputs() {
      return Page.IsValid;
    }

    private void SaveUser() {
      int newUserID = -1;
      PortalUser User = new PortalUser() { // Nieuwe PortalUser aanmaken
        voornaam = voornaam,
        tussenvoegsel = tussenvoegsel,
        achternaam = achternaam,
        straatnaam = straatnaam,
        huisnummer = huisnummer,
        huisnummer_toevoeging = huisnummertoevoeging,
        postcode = postcode,
        woonplaats = woonplaats,
        land = land,
        telefoonnummer = telefoon,
        loginnaam = loginnaam,
        password = password,
      };
      newUserID = User.Save(); // PortalUser opslaan

      if (newUserID > 0) { // Opslaan gelukt; registratie geslaagd
				btnRegistreer.Visible = false;
        Master.FindControl("cphContent").Controls.Add(Message.ShowMessage(MessageText.Message_RegistratieGeslaagd, MessageType.MessageType_Success));
      }
      else { // Opslaan niet gelukt; registratie mislukt
				btnRegistreer.Visible = false;
        Master.FindControl("cphContent").Controls.Add(Message.ShowMessage(MessageText.Message_RegistratieMislukt, MessageType.MessageType_Error));
      }
    }
  }
}